home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 31 / Amiga Format CD31 (1998-09-02)(Future Publishing)(GB)(Track 1 of 2)[!][issue 1998-10].iso / -seriously_amiga- / sound / ahi / developer / filesave / asmfuncs.a next >
Text File  |  1998-07-16  |  1KB  |  76 lines

  1.  
  2.     incdir    include:
  3.     include    exec/tasks.i
  4.     include    devices/ahi.i
  5.     include    libraries/ahi_sub.i
  6.     include    lvo/exec_lib.i
  7.     include    filesave.i
  8.     include    macros.i
  9.  
  10.     XDEF    _intAHIsub_Disable
  11.     XDEF    _intAHIsub_Enable
  12.     XDEF    @SlaveEntry
  13.     XDEF    @RecSlaveEntry
  14.     XDEF    _SlaveEntry
  15.     XDEF    _RecSlaveEntry
  16.     XREF    _SlaveTask
  17.     XREF    _RecSlaveTask
  18. ;in:
  19. * a2    struct AHI_AudioCtrl
  20. _intAHIsub_Disable:
  21.     pushm    d0-d1/a0-a1/a6
  22.     move.l    ahiac_DriverData(a2),a0
  23.     addq.w    #1,fs_DisableCount(a0)
  24.     move.b    fs_DisableSignal(a0),d1
  25.     bmi    .exit
  26.     moveq    #0,d0
  27.     bset    d1,d0
  28.     move.l    fs_SlaveTask(a0),a1
  29.     move.l    4.w,a6
  30.     call    Signal
  31. .exit
  32.     popm    d0-d1/a0-a1/a6
  33.     rts
  34.  
  35. ;in:
  36. * a2    struct AHI_AudioCtrl
  37. _intAHIsub_Enable:
  38.     pushm    d0-d1/a0-a1/a6
  39.     move.l    ahiac_DriverData(a2),a0
  40.     subq.w    #1,fs_DisableCount(a0)
  41.     bne    .exit
  42.     move.b    fs_EnableSignal(a0),d1
  43.     bmi    .exit
  44.     moveq    #0,d0
  45.     bset    d1,d0
  46.     move.l    fs_SlaveTask(a0),a1
  47.     move.l    4.w,a6
  48.     call    Signal
  49. .exit
  50.     popm    d0-d1/a0-a1/a6
  51.     rts
  52.  
  53. * Set up a2 and a6 for SlaveTask()
  54. _SlaveEntry:
  55. @SlaveEntry:
  56.     move.l    4.w,a6
  57.     suba.l    a1,a1
  58.     call    FindTask
  59.     move.l    d0,a0
  60.     move.l    TC_Userdata(a0),a2
  61.     move.l    ahiac_DriverData(a2),a0
  62.     move.l    fs_AHIsubBase(a0),a6
  63.     bra    _SlaveTask
  64.  
  65. * Set up a2 and a6 for RecSlaveTask()
  66. _RecSlaveEntry:
  67. @RecSlaveEntry:
  68.     move.l    4.w,a6
  69.     suba.l    a1,a1
  70.     call    FindTask
  71.     move.l    d0,a0
  72.     move.l    TC_Userdata(a0),a2
  73.     move.l    ahiac_DriverData(a2),a0
  74.     move.l    fs_AHIsubBase(a0),a6
  75.     bra    _RecSlaveTask
  76.